#ifndef __HF_HEAP_H__
#define __HF_HEAP_H__

#include "hf_core_common.h"


#define hf_align_size(size) (((size) + (sizeof(size_t) - 1)) & ~(sizeof(size_t) - 1))		/* 内存对齐宏 */


/* 内存块头部结构 */
struct hf_block_link {
	struct hf_block_link *next_free; 	/* 指向下一个空闲块 */
	size_t block_size;              	/* 块大小（包括头部） */
};

void *hf_malloc(size_t size);

void hf_free(void *ptr);

size_t hf_get_free_size(void);

#endif /* __HF_HEAP_H__ */
